package com.smart.community.property.dto;

import java.util.List;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Pattern;
import javax.validation.constraints.Size;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

/**
 * 卫生费生成DTO
 * 
 * @author Wu.Liang
 * @since 2025-01-30
 * @version 1.0.0
 */
@Data
@Schema(description = "卫生费生成参数")
public class SanitationFeeGenerateDTO {

    @Schema(description = "社区ID", example = "1")
    @NotNull(message = "社区ID不能为空")
    private Long communityId;

    @Schema(description = "计费月份时间段", example = "[\"2025-08\", \"2025-11\"]")
    @NotNull(message = "计费月份时间段不能为空")
    @Size(min = 2, max = 2, message = "计费月份时间段必须包含开始和结束月份")
    private List<String> billingMonthRange;



    @Schema(description = "到期日期", example = "2025-12-31")
    @Pattern(regexp = "^\\d{4}-\\d{2}-\\d{2}$", message = "到期日期格式不正确，应为yyyy-MM-dd格式")
    private String dueDate;

    @Schema(description = "备注", example = "2025年8-11月卫生费")
    private String remark;
} 